#include "mylabel.h"

#include <QMouseEvent>
#include <QDebug>

MyLabel::MyLabel(QWidget* parent) : QLabel(parent)
{

}

void MyLabel::mousePressEvent(QMouseEvent *event)
{
    QString str = QString("鼠标按下：x = %1, y = %2").arg(event->x()).arg(event->y());
    qDebug() << str;
}

bool MyLabel::event(QEvent *e)
{
    // 如果是鼠标按下，在event事件分发时做拦截操作
    if (e->type() == QEvent::MouseButtonPress)
    {
        QMouseEvent *event = static_cast<QMouseEvent*>(e);
        QString str = QString("Event函数中鼠标按下：x = %1, y = %2").arg(event->x()).arg(event->y());
        qDebug() << str;

        return true;  // 返回true，代表用户自己处理，不向下分发
    }

    // 其它事情交给父类处理
    return QLabel::event(e);
}
